Fowler 1990 - Explains many old-make limitations and new-make (Nmake) features including procedure rules, accuracy mechanisms, viewpathing, and semaphores for blocking unwanted parallelism.
Holyer and Pehlivan 2000 - Program uses no makefile. It records manually-issued compilation commands the first time round, then rebuilds programs using recorded command traces.
Pool 2003 - This paper describes a distributed compiler for C/C++ programs, and provides a good discussion of key issues related to parallel, distributed software builds.
Feldman 1979 - The original make paper, including makefile syntax, implicit rules, double colon targets, macros, VPATH macro, and the usual cleanup and install targets.
Geosoft - A GNU Make and shell script setup for Java. Features dependency scanning, class files, JAR archives, JNI interfaces, RMI stub and skeletons, and Javadoc.